home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Demos / Bowers Development / AppMaker 2.0b5 / Examples / TCL / AMReminder / zAMReminderDoc.cp < prev    next >
Text File  |  1996-03-19  |  3KB  |  154 lines

  1. /* zAMReminderDoc.cp -- document methods */
  2. /* Created 01/01/95 12:01 PM by AppMaker */
  3.  
  4. /*    We recommend that you not modify this module and instead modify        */
  5. /*    its subclass, AMReminderDoc.  The 'z' prefix on this module marks    */
  6. /*    a module which is likely to be regenerated by AppMaker after you    */
  7. /*    make changes to the user interface.  The modules without the 'z'    */
  8. /*    prefix will not be regenerated by AppMaker unless you delete them.    */
  9. /*    Using a separate subclass to override the AppMaker-generated code    */
  10. /*    lets you regenerate code without losing your hand-coded changes.    */ 
  11.  
  12. #include <Commands.h>
  13. #include <Global.h>
  14. #include <CApplication.h>
  15. #include <CBartender.h>
  16. #include <CDataFile.h>
  17. #include <CDesktop.h>
  18. #include <CError.h>
  19. #include <CWindow.h>
  20. #include <TBUtilities.h>
  21. #include "CmdCodes.h"
  22. #include "AMReminderData.h"
  23. #include "Add.h"
  24. #include "Add.h"
  25. #include "MainWindow.h"
  26. #include "zAMReminderDoc.h"
  27.  
  28. extern    CApplication    *gApplication;    /* The application */
  29. extern    CBartender        *gBartender;    /* The menu handling object */
  30. extern    CError            *gError;        /* The error handling object */
  31.  
  32. /*----------*/
  33. void    ZAMReminderDoc::IAMReminderDoc    (CApplication    *aSupervisor,
  34.                                          Boolean        printable)
  35. {
  36.     inherited::IDocument (aSupervisor, printable);
  37.     itsData = NULL;
  38.  
  39. } /* IAMReminderDoc */
  40.  
  41. /*----------*/
  42. void    ZAMReminderDoc::Dispose        (void)
  43. {
  44.     ForgetObject (itsData);
  45.     itsFile = NULL;        // was disposed by ForgetObject (itsData)
  46.     ForgetObject (this);
  47.  
  48. } /* Dispose */
  49.  
  50. /*----------*/
  51. void    ZAMReminderDoc::NewFile        (void)
  52. {
  53.     itsData = new CAMReminderData;
  54.     itsData->IAMReminderData (this);
  55.  
  56.     BuildWindows ();
  57.  
  58.     if (itsWindow != NULL) {
  59.         itsWindow->Select ();
  60.     }
  61.  
  62. } /* NewFile */
  63.  
  64. /*----------*/
  65. void     ZAMReminderDoc::OpenFile        (SFReply    *macSFReply)
  66. {
  67.     Str63            theName;
  68.  
  69.     itsData = new CAMReminderData;
  70.     itsData->IAMReminderData (this);
  71.     itsData->SFSpecify (macSFReply);
  72.     itsData->OpenData (fsRdWrPerm);
  73.     itsFile = itsData;
  74.  
  75.     BuildWindows ();
  76.  
  77.     itsFile->GetName (theName);
  78.     if (itsWindow != NULL) {
  79.         itsWindow->SetTitle (theName);
  80.         itsWindow->Select ();
  81.     }
  82.  
  83. } /* OpenFile */
  84.  
  85. /*----------*/
  86. void    ZAMReminderDoc::BuildWindows        (void)
  87. {
  88.     CWindow            *mainWindow;
  89.  
  90.     mainWindow = new CMainWindow;
  91.     itsWindow = mainWindow;
  92.     ((CMainWindow *)mainWindow)->IMainWindow (this, itsData);
  93.     itsMainPane = ((CMainWindow *)mainWindow)->itsMainPane;
  94.  
  95.  
  96. } /* BuildWindows */
  97.  
  98. /*----------*/
  99. Boolean    ZAMReminderDoc::DoSave        (void)
  100. {
  101.     if (itsFile == NULL) {
  102.         return (DoSaveFileAs ());
  103.     } else {
  104.         if (itsData->Save ()) {
  105.             dirty = FALSE;
  106.             return (TRUE);
  107.         } else {
  108.             return (FALSE);
  109.         }
  110.     }
  111. } /* DoSave */
  112.  
  113. /*----------*/
  114. Boolean    ZAMReminderDoc::DoSaveAs        (SFReply    *macSFReply)
  115. {
  116.     if (itsData->SaveAs (macSFReply)) {
  117.         itsFile = itsData;
  118.         if (itsWindow != NULL) {
  119.             itsWindow->SetTitle (macSFReply->fName);
  120.         }
  121.         dirty = FALSE;
  122.         return (TRUE);
  123.     } else {
  124.         return (FALSE);
  125.     }
  126.  
  127. } /* DoSaveAs */
  128.  
  129. /*----------*/
  130. void    ZAMReminderDoc::DoRevert        (void)
  131. {
  132.     itsData->Revert ();
  133.     dirty = FALSE;
  134.  
  135. } /* DoRevert */
  136.  
  137.  
  138. //----------
  139. void    ZAMReminderDoc::DoAddReminder ()
  140. {
  141. }
  142.  
  143. //----------
  144. void    ZAMReminderDoc::DoEditReminder ()
  145. {
  146. }
  147.  
  148. //----------
  149. void    ZAMReminderDoc::DoDeleteReminder ()
  150. {
  151. }
  152.  
  153. /* zAMReminderDoc.cp */
  154.